package com.etime.shycourse.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.etime.shycourse.dto.OrgTeacherDtoS;
import com.etime.shycourse.dto.UserTeacherDto;
import com.etime.shycourse.pojo.Teacher;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * -2 ：独立入驻教师 Mapper 接口
 * </p>
 *
 * @author wb
 * @since 2021-12-14
 */
@Repository
public interface OrgTeacherMapper extends BaseMapper<Teacher> {


    /**
     * orgId 机构id
     * <p>
     * 先根据机构id --》再根据用户名
     * 从教师表和系统用户表中进行查询。
     * 模糊查询  根据用户名获取机构教师列表
     */
    Page<OrgTeacherDtoS> selectOrgByPage(Page<OrgTeacherDtoS> orgTeacherDtoPage,
                                         @Param("tecorgid") Integer tecorgid,
                                         @Param("usertruename") String usertruename);

    /**
     * 增加用户 sysUser表
     * 用户名，密码，姓名，专业，联系电话，Email，照片；用户状态=1；是否教师=1；是否销售人员=0；
     *
     * @param orgTeacherDtoS 用户实体(教师)
     * @return 0失败；1成功
     */
    int insertOrgUserDto(OrgTeacherDtoS orgTeacherDtoS);

    /**
     * 增加用户 Teacher表
     * <p>
     * 教师审核状态=1；教师所属机构=登录用户所属机构；其他默认null
     * 操作字段 教师 Title，教师简介，技术标签
     *
     * @param orgTeacherDtoS 用户实体(教师)
     * @return 0失败；1成功
     */
    int insertOrgTeacherDto(OrgTeacherDtoS orgTeacherDtoS);

    /**
     * 根据tecorgid查询到本机机 所有的教师
     *
     * @param tecOrgId
     * @return List<Teacher> usertruename tecid
     */
    List<UserTeacherDto> selectListByTecOrgId(Integer tecOrgId);


    /**
     * 教师管理 分页管理
     * 条件：1、用户名  2、教师所属机构
     *
     * @param dto
     * @return Page<OrgTeacherDtoS>
     */
    Page<OrgTeacherDtoS> selectTeacherPage(Page<OrgTeacherDtoS> page, OrgTeacherDtoS dto);
}
